package edu.utn.tacs.grupouno.negocio;

import edu.utn.tacs.grupouno.exception.IndicadorSinResultadoException;

public class Indicador implements Cloneable {
	
	protected ValorDeReferencia valor;
	protected Resultado resultado;
	private String nombre="";

	public Indicador() {
		
	}

	public Indicador(ValorDeReferencia valor) {
		this.valor = valor;
	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public boolean estaOk() {
		if (tieneResultado()) {
			return valor.isNormal(resultado);
		}
		throw new IndicadorSinResultadoException();
	}
	
	public boolean tieneResultado() {
		return resultado != null;
	}

	@Override
	protected Object clone() throws CloneNotSupportedException {
		return super.clone();
	}

	public Resultado getResultado() {
		return resultado;
	}

	public void setResultado(Resultado resultado) {
		this.resultado = resultado;
	}

	public ValorDeReferencia getValor() {
		return valor;
	}

	public void setValor(ValorDeReferencia valor) {
		this.valor = valor;
	}
}
